home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / amigae.jan.archive / 000082_crash!plucky.i…b.af.mil!bwills_Fri, 28 Jan 94 01:02:40 PST.msg < prev    next >
Text File  |  1994-02-17  |  11KB  |  267 lines

  1. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  2.       id <1of6@bkhouse.cts.com>; Fri, 28 Jan 94 01:02:40 PST
  3. Received: from kirk.safb.af.mil by crash.cts.com with smtp
  4.     (Smail3.1.28.1 #18) id m0pPcEk-0000dPC; Thu, 27 Jan 94 11:18 PST
  5. Received: from ike (ike [140.175.6.44]) by kirk.safb.af.mil (8.6.4/8.6.4) with SMTP id NAA06705; Thu, 27 Jan 1994 13:17:55 -0600
  6. Received: from plucky.safb.af.mil by ike (4.1/SMI-4.1)
  7.     id AA15935; Thu, 27 Jan 94 13:14:06 CST
  8. Received: by plucky.safb.af.mil (4.1/SMI-4.1)
  9.     id AA02418; Thu, 27 Jan 94 13:15:43 CST
  10. Date: Thu, 27 Jan 94 13:15:43 CST
  11. Message-Id: <9401271915.AA02418@plucky.safb.af.mil>
  12. From: bwills@plucky.safb.af.mil (Barry D Wills)
  13. To: 
  14. Subject: Re: IntuiSup.library (was Many Questions II)
  15.  
  16. Here it is, Olivier.  It works with a few minor adjustments.
  17. -- Barry
  18.  
  19. -----8<-----8<-----8<-----8<-----8<-----8<-----8<-----
  20.  
  21. /* IntuiSup test UNDER WB1.3 */
  22.  
  23.  
  24. MODULE 'intuisup'
  25. MODULE 'graphics/text'
  26. MODULE 'intuition/intuition'
  27. MODULE 'intuition/screens'
  28. MODULE 'libraries/intuisup'
  29.  
  30. ENUM NONE,ERR_INTUISUP,ERR_REQTOOLS,ERR_WINDOW,BRK
  31.  
  32. CONST WIDCMP     = IDCMP_CLOSEWINDOW OR IDCMP_GADGETUP,
  33.       WFLAGS     = WFLG_DRAGBAR OR
  34.                    WFLG_DEPTHGADGET OR
  35.                    WFLG_CLOSEGADGET OR
  36.                    WFLG_WINDOWACTIVE,
  37.       MAXGADGET  = GADGETSIZE*1,
  38.       RENDERINFO = 0
  39.  
  40.  
  41. DEF win : PTR TO window,
  42.     scr : PTR TO screen,
  43.     msg : PTR TO intuimessage,
  44.     loop, ri, glist, class, code, iadr,
  45.     txtattr,gaddata
  46.  
  47.  
  48. PROC main() HANDLE
  49.     intuisupbase:=OpenLibrary('intuisup.library',0)
  50.     IF intuisupbase=NIL THEN Raise(ERR_INTUISUP)
  51.     scr:=NIL   /* open on the WB */
  52. WriteF('Begin :\n')
  53.     ri:=IgetRenderInfo(scr,RENDERINFO)
  54. WriteF('Render done\n')
  55.     win:=OpenW(0,11,300,50,WIDCMP,WFLAGS,'Test',0,1,NIL)
  56.     IF win=NIL THEN Raise(ERR_WINDOW)
  57. WriteF('Window done\n')
  58.     txtattr:=['topaz',8,0,0] : textattr
  59.     /*------------------------------------------*
  60.       This is the data for two button gads.  For
  61.       a third simply add another line of data 
  62.       before the last line of zeroes.    
  63.      *------------------------------------------*/
  64.     gaddata:=[1,0,10,0,91,20,'Button1',txtattr,0,0,0,
  65.               1,0,100,0,91,20,'Button2',txtattr,0,0,0,
  66.               0,0,0,0,0,0,0,0,0,0,0] : gadgetdata
  67.     glist:=IcreateGadgets(ri,gaddata,0,11,NIL)
  68. WriteF('Gadget done\n')
  69.     IdisplayGadgets(win,glist)
  70.     loop:=TRUE
  71.     /*-------------------------------------------------*
  72.       I restructured the loop to stop the enforcer hits 
  73.       that occurred when you tried to dereference the 
  74.       null pointer returned by IgetMsg().
  75.      *-------------------------------------------------*/
  76.     REPEAT
  77.         WHILE (msg:=IgetMsg(win.userport))=0 DO WaitTOF()
  78.           /*-- I'm sure there's a better way to wait, just --*/
  79.           /*-- didn't take the time to read the docs.      --*/
  80.         class:=msg.class
  81.         code:=msg.code
  82.         iadr:=msg.iaddress
  83.         WriteF('cl \d, co \d, adr \d ms \d, lo \d\n',class,code,iadr,msg,loop)
  84.         IreplyMsg(msg)
  85.         SELECT class
  86.             CASE IDCMP_CLOSEWINDOW
  87.                 loop:=FALSE
  88.                 WriteF('CLOSEWINDOW\n')
  89.             CASE ISUP_ID
  90.                 dogadget(code)
  91.                 WriteF('ISUP\n')
  92.         ENDSELECT
  93.     UNTIL loop=FALSE
  94.     WriteF('last :\ncl \d, co \d, adr \d ms \d, lo \d\nclose \d, 
  95.            isup \d\n',class,code,iadr,msg,loop,IDCMP_CLOSEWINDOW,ISUP_ID)
  96.     closeall()
  97. EXCEPT
  98.     closeall()
  99.     IF exception>0  THEN WriteF('Couldn\at \s !\n',listItem(['do anything',
  100.                                 'open IntuiSup.library',
  101.                                 'open ReqTools.library',
  102.                                 'open Window',
  103.                                 'continue\n*** User Break'],
  104.                                 exception))
  105. ENDPROC
  106.  
  107. PROC listItem (listVar : PTR TO LONG, item) RETURN listVar [item]
  108.  
  109. PROC dogadget(code)
  110.             WriteF('Button \d pressed\n',code)
  111. ENDPROC
  112.  
  113. PROC closeall()
  114.     IF ri           THEN IfreeRenderInfo(ri)
  115.     IF glist        THEN IfreeGadgets(glist)
  116.     IF intuisupbase THEN CloseLibrary(intuisupbase)
  117.     IF win          THEN CloseW(win)
  118. ENDPROC
  119. From crash!westminster.ac.uk!vaald Fri, 28 Jan 94 01:03:02 PST
  120. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  121.       id <1ofk@bkhouse.cts.com>; Fri, 28 Jan 94 01:03:02 PST
  122. Received: from sun2.nsfnet-relay.ac.uk by crash.cts.com with smtp
  123.     (Smail3.1.28.1 #18) id m0pPdf0-0001G1C; Thu, 27 Jan 94 12:49 PST
  124. Received: (user vaald (rfc1413)) by badger.westminster.ac.uk;
  125.           Thu, 27 Jan 1994 18:43:38 GMT
  126. Via: uk.ac.westminster; Thu, 27 Jan 1994 18:40:46 +0000
  127. Date: Thu, 27 Jan 1994 18:43:38 GMT
  128. Message-Id: <6384.199401271843@newbadger.westminster.ac.uk>
  129. From: vaald@westminster.ac.uk
  130. To: amigae@bkhouse.cts.com
  131. Subject: <none>
  132.  
  133. SUBSCRIBE AmigaE
  134. From crash!comlab.oxford.ac.uk!ecs.oxford.ac.uk!m88jrh Fri, 28 Jan 94 01:03:10 PST
  135. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  136.       id <1ofp@bkhouse.cts.com>; Fri, 28 Jan 94 01:03:10 PST
  137. Received: from sun2.nsfnet-relay.ac.uk by crash.cts.com with smtp
  138.     (Smail3.1.28.1 #18) id m0pPdez-0000TNC; Thu, 27 Jan 94 12:49 PST
  139. Received: from ecs.oxford.ac.uk (ecs.ecs) by comlab.oxford.ac.uk id AA02319;
  140.           Thu, 27 Jan 94 16:49:25 GMT
  141. Received: from ecs.ox.ac.uk (booth31.ecs) by ecs.oxford.ac.uk (4.1/ecs.1) 
  142.           id AA04531; Thu, 27 Jan 94 16:52:18 GMT
  143. Received: by ecs.ox.ac.uk (4.1/ecs2.0) id AA05037; Thu, 27 Jan 94 16:50:46 GMT
  144. Via: uk.ac.oxford.comlab; Thu, 27 Jan 1994 16:49:54 +0000
  145. Date: Thu, 27 Jan 94 16:50:46 GMT
  146. Message-Id: <9401271650.AA05037@booth31.ecs.ox.ac.uk>
  147. From: m88jrh@ecs.oxford.ac.uk
  148. To: amigae@bkhouse.cts.com
  149. Subject: Re: Amiga E bug...
  150.  
  151.  
  152. Jason Maskell wrote:
  153.  
  154. >     I seem to have found a bit of a bug in E. When trying to track
  155. > down memory loss in Dirj, through a whole lot of debug code, I managed to
  156. > track down the loss to a routine that frees a linked list of structures.
  157. > The structure is something like this.
  158.  
  159. ... other stuff...
  160.  
  161. Maybe you've tried this already (you mention DisposeLink()...) but an E
  162. String (from a STRING declaration or String() call) or E list (from a LIST
  163. declaration or List() call) *MUST* be deallocated with DisposeLink(), not
  164. Dispose(), if you want to deallocate it before the program ends.  You
  165. didn't make it clear whether you'd left out all DisposeXXX()'s and let the
  166. CleanUp() routine deallocate everything...  I hope I'm not making an obvious
  167. remark, but check that complex typed things (E Strings and E Lists) are only
  168. deallocated by CleanUp() or DisposeLink().  Everything else (except static
  169. things like immediate lists and string constants) can be deallocated with
  170. Dispose() (or in CleanUp()).
  171.  
  172. In any case, leaving out all Dispose() and DisposeLink() calls should mean
  173. that CleanUp() works properly.  Again, I hope this suggestion is not
  174. something you've already tried...
  175.  
  176. For a really complex program you might be playing with the program's
  177. process structure.  If this is the case you might have messed up the
  178. user data field which is what I think E uses to keep track of allocated
  179. memory... That may be another thing to check.
  180.  
  181. I hope this is helpful (and not obvious and annoying...).
  182. From crash!world.std.com!cosell Fri, 28 Jan 94 01:03:44 PST
  183. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  184.       id <1ogh@bkhouse.cts.com>; Fri, 28 Jan 94 01:03:44 PST
  185. Received: from world.std.com by crash.cts.com with smtp
  186.     (Smail3.1.28.1 #18) id m0pPf98-0000PiC; Thu, 27 Jan 94 14:25 PST
  187. Received: by world.std.com (5.65c/Spike-2.0)
  188.     id AA13225; Thu, 27 Jan 1994 17:24:53 -0500
  189. X-Mailer: //\\miga Electronic Mail (AmiElm 2.253)
  190. Content-Length: 784
  191. Date: Thursday, 27 January 1994 17:41 EST
  192. Organization: Fantasy Farm Fibers
  193. Message-Id: <5870:63708@fantasyfarm.com>
  194. From: bernie@fantasyfarm.com (Bernie Cosell)
  195. To: AmigaE@bkhouse.cts.com
  196. Subject: Help needed with pointers
  197.  
  198. I've spent a goodly chunk of this afternoon chasing a guru, and once
  199. I narrowed it down, I found that I haven't a clue quite what is going
  200. on.  I have what I would have thought is absolutely vanilla code:
  201.  
  202.     DEF grid:PTR TO CHAR
  203.     DEF p:PTR TO CHAR
  204.     
  205.     grid := New(<big>)
  206.     
  207.     p := grid
  208.     FOR i := 1 to 10 DO ^p++ := "'"
  209.     
  210. What I discovered, thoroughly to my surprise, is that the construct
  211.    ^p++
  212. increments p by *four*.  Why does it do that?  If i just do a
  213.     p++
  214. it only increments it by 1, as it should, but once I stick in the
  215. indirect things get wierd.  Any hints about what I'm misunderstanding
  216. about this?
  217.  
  218. Thanks
  219.   /Bernie\
  220. -- 
  221. Bernie Cosell                               bernie@fantasyfarm.com
  222. Fantasy Farm Fibers, Pearisburg, VA         (703) 921-2358
  223. From crash!UNCA.EDU!JVANRIPER Fri, 28 Jan 94 01:04:02 PST
  224. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  225.       id <1ogv@bkhouse.cts.com>; Fri, 28 Jan 94 01:04:02 PST
  226. Received: from uncavx by crash.cts.com with smtp
  227.     (Smail3.1.28.1 #18) id m0pPfVo-0000uFC; Thu, 27 Jan 94 14:48 PST
  228. Received: from UNCA.EDU by UNCA.EDU (PMDF V4.2-15 #5911) id
  229.  <01H86OSH4Q3Q91VZ4H@UNCA.EDU>; Thu, 27 Jan 1994 17:42:32 EST
  230. Date: Thu, 27 Jan 1994 17:42:32 -0500 (EST)
  231. Message-id: <01H86OSH4Q3S91VZ4H@UNCA.EDU>
  232. Organization: University of North Carolina at Asheville
  233. X-VMS-To: IN%"AmigaE@bkhouse.cts.com"
  234. MIME-version: 1.0
  235. Content-type: TEXT/PLAIN; CHARSET=US-ASCII
  236. Content-transfer-encoding: 7BIT
  237. From: "Joseph E. Van_Riper III" <JVANRIPER@UNCA.EDU>
  238. To: AmigaE@bkhouse.cts.com
  239. Subject: Re: New Project! C2E!
  240.  
  241. Oh... how I would LOVE to see this, but I think you'll find the project a lot
  242. harder than you originally thought...
  243.  
  244. | I have looked at a lot of C source, and the only thing I can see huge
  245. | problems with (or any, for that matter), is Float handling. Here's what I have
  246. | covered in design phase, tell me if I missed something.
  247.  
  248. [list o' stuff deleted]
  249.  
  250. Take a look at how E and C handle FOR loops.  Also, note the differences in how
  251. C handles an evaluation compared to E (E works left-right, C works according to
  252. algebraic rules).  Examine the REPEAT/do{} differences, too...
  253.  
  254. It'd be an extremely ugly project.. especially if you came across one of those
  255. extremely arcane C for() statements like, uh...
  256.  
  257. for (s.p = voodoo; bjorn->next; i++);
  258.  
  259. Extremely ugly, but entirely possible with C.  As a matter of fact, I had to
  260. jump through some unpleasant hoops while converting mk3d.c to mk3d.e (mk3d.e is
  261. available at Aminet somewhere, for the interested.. makes 3-d images with text
  262. characters.. source comes with it).
  263.  
  264. Good luck, though.. if you can do it, I think there will be a lot of cheering.
  265.  
  266. - Trey
  267.